import java.util.Random;

public class CashCow {
    private int height;
    private int goldPiece;
    boolean wormy;
    private int pesticide;

    public void grow() {
        height += 2;
        goldPiece += 10;
        // 方法执行一次，摇钱树成长一次，高度增加 2 ，金币数量增加 10
    }

    public void buy() {
        if (goldPiece > 0) {
            goldPiece -= 1;
            pesticide += 100;
        }
        // 当有金币时，从树上采摘金币购买农药
        // 每购买一次农药，金币减少 1 个，杀虫剂增加 100
    }

    public void kill() {
        if (wormy) {
            pesticide -= 50;
            goldPiece += 5;
        }
        // 当有虫子时，执行杀虫操作
        // 每执行一次杀虫操作，杀虫剂减少 50 ， 金币增加 5 个
    }

    public void watering() {
        goldPiece += 5;
        height += 2;
        wormy = true;
        // 每次浇水，金币数量增加 5 个，高度增加 1
        // 每次浇水都会导致虫子增加 ( 即 wormy 变为 true )
    }

    public void show() {
        System.out.println("摇钱树的高度为：" + height);
        System.out.println("摇钱树上的金币数量：" + goldPiece);
        System.out.println("是否用虫子：" + wormy);
        System.out.println("杀虫剂数量：" + pesticide);
        // 通过 show 方法显示 摇钱树的高度 、摇钱树上的金币数量 、是否用虫子 、杀虫剂数量
    }

    public static void main(String[] args) {
        Random random = new Random();

        CashCow cc = new CashCow();

        for (int i = 0; i < 10; i++) {

            int x = random.nextInt(4); // 除了 show 仅有 4 个操作

            switch (x) {
                case 0:
                    cc.grow();
                    break;
                case 1:
                    cc.buy();
                    break;
                case 2:
                    cc.kill();
                    break;
                case 3:
                    cc.watering();
                    break;
            }
        }

        cc.show(); // 查询状态
    }
}